package com.itheima;

import com.itheima.service.UserService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author xiaoChen
 * @description: 使用AOP的三大方式
 * 方式一：使用原生Spring API接口
 * 方式二：自定义切面类
 * 方式三：注解方式
 * @date 2022/5/17 16:35
 */
public class Main {
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//        因为我们动态代理的是一类接口，所以类型应该是 UserService 类型。
        UserService userService = context.getBean("userService", UserService.class);
        //    aop底层是动态代理、又分两种jdk动态和cglib动态。spring默认jdk代理
        userService.add();
    }

}
